Domain-driven design

Domain-driven design (DDD) è un approccio alla progettazione del software che punta a riprodurre a livello del software un dominio applicativo, basandosi sull'input degli esperti di quel dominio. Il DDD punta a suddividere i sistemi in contesti delimitati, ciascuno con il proprio modello, piuttosto che a progettare un singolo modello onnicomprensivo.

Seguendo i principi del domain-driven design la struttura e il linguaggio del software dovrebbero corrispondere alla struttura e al linguaggio del dominio. Ad esempio, in una software che si occupa di gestire una cantina vinicola possono esistere classi come "bottiglia" oppure "mosto" e metodi come "applica etichetta" oppure "imbottiglia".

I processi DDD si basano su tre principi cardine:

  • focalizzare il progetto attorno al dominio e alla logica di dominio;
  • basare la progettazione di sistemi complessi sui modelli del dominio;
  • mantenere una collaborazione tra tecnici ed esperti di dominio per rifinire in maniera iterativa modelli concettuali che possano essere applicati ai problemi del dominio.[1]

Il termine "Domain-driven design" è stato coniato da Eric Evans nel 2003 nel libro omonimo.[2]

  1. ^ (EN) Domain-Driven Design: What is it and how do you use it?, su blog.airbrake.io. URL consultato il 18 ottobre 2024.
  2. ^ Eric Evans, Domain-driven design: tackling complexity in the heart of software, Addison-Wesley, 2004, ISBN 978-0-321-12521-7.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne